Description
This manual connection member function issues a request to a connected counting semaphore. If a request is issued to a semaphore that has a non-zero value then the request will proceed and the semaphore's value will be decremented. If a request is issued to a semaphore with a zero value, then the requester will be added to a queue of blocked requesters and the semaphore's value left at zero. Each time the semaphore is signaled, its value is incremented. If there are any blocked requesters, then the first requester in the queue is unblocked, and the count decremented back to zero. Before reading this topic, we would recommend familiarity with Manual Connections and Counting Semaphores.
Prototype
Uns Request( Uns timeout );
Parameters
timeout
This parameter determines whether the connection will poll or block (see Connection Timeout). It can be set to poll (CLP_POLL), block (CLP_WAIT) or a millisecond timeout.
Return Value
This function returns logical TRUE if the semaphore is successfully acquired within the specified timeout period, or FALSE otherwise.